/* 
 * Copyright (C) 2011 rccloud.com All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.rccloud.inproxy;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

import com.rccloud.inproxy.converter.ProxyConverter;

/**
 * Proxy info for the method of annotated proxy object
 */
class MethodProxyInfo {

	private Field proxyField;

	private Method setMethod;

	private Method getMethod;

	private Class<?> targetClass;

	private Method targetSetMethod;

	private Method targetGetMethod;

	private Class<? extends ProxyConverter> converter;

	public Field getProxyField() {
		return proxyField;
	}

	public void setProxyField(Field proxyField) {
		this.proxyField = proxyField;
	}

	public Method getSetMethod() {
		return setMethod;
	}

	public void setSetMethod(Method setMethod) {
		this.setMethod = setMethod;
	}

	public Method getGetMethod() {
		return getMethod;
	}

	public void setGetMethod(Method getMethod) {
		this.getMethod = getMethod;
	}

	public Class<?> getTargetClass() {
		return targetClass;
	}

	public void setTargetClass(Class<?> targetClass) {
		this.targetClass = targetClass;
	}

	public Method getTargetSetMethod() {
		return targetSetMethod;
	}

	public void setTargetSetMethod(Method targetSetMethod) {
		this.targetSetMethod = targetSetMethod;
	}

	public Method getTargetGetMethod() {
		return targetGetMethod;
	}

	public void setTargetGetMethod(Method targetGetMethod) {
		this.targetGetMethod = targetGetMethod;
	}

	public Class<? extends ProxyConverter> getConverter() {
		return converter;
	}

	public void setConverter(Class<? extends ProxyConverter> converter) {
		this.converter = converter;
	}

}
